package com.rico.kok.mapper;

import com.rico.kok.entity.Label;
import com.rico.kok.entity.Post;
import com.rico.kok.entity.povos.PostUser;
import com.rico.kok.entity.povos.UserPosts;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;

public interface PostMapper {
    //添加内容
    int insertPost(Post post);
    //删除内容
    int deletePost(Post post);
    //修改内容标题
    int updatePostTitle(Post post);
    //修改内容内容
    int updatePostContent(Post post);
    //更新点赞数量(post.postLike传值为1或者0，1为加1，0为减1)
    int updatePostLike(Post post);
    //更新收藏数量(post.postCollection传值为1或者0，1为加1，0为减1)
    int updatePostCollection(Post post);
    //逻辑删除内容
    int updatePostDelete(Post post);
    //查找内容
    List<Post> selectPosts(Post post);
    //通过收藏中的内容ID批量查询内容
    List<PostUser> selectPostsByIds(@Param("postIds") List<Integer> postId);
    //查找内容，及作者
    ArrayList<PostUser> selectPostUser(Post post);
    //查找作者及其内容
    UserPosts selectUserPosts(Post post);
    //通过发帖时间查找
    List<Post> selectPostsByTime(@Param("between") String between, @Param("and") String and);
    //通过修改时间查找
    List<Post> selectPostsByUpdateTime(@Param("between") String between,@Param("and") String and);

    //查询label
    List<Label> selectPostLabelById(int id);
//    //查询内容对应的用户
//    User selectUserByPostUserId(int id);
}
